# 导入必要的库
import pandas as pd

# 定义文件路径
file_path = 'c:/Users/86183/Desktop/新建文件夹/FhjlViewDD.xlsx'

# 读取 Excel 文件
try:
    df = pd.read_excel(file_path)
    # 检查可能的列名
    possible_columns = {
        '创建时间': ['创建时间', '日期', '时间'],
        '车牌号': ['车牌号', '车牌', '车辆牌照', '车牌号码', '车号', '车辆'],
        '净重': ['净重', '重量']
    }
    # 查找每类信息对应的列名
    found_columns = {}
    for key, candidates in possible_columns.items():
        for candidate in candidates:
            if candidate in df.columns:
                found_columns[key] = candidate
                break
        else:
            raise ValueError(f'Excel 文件中未找到 {key} 相关的列')
    

except FileNotFoundError:
    print('未找到指定的 Excel 文件，请检查文件路径。')
except Exception as e:
    print(f'读取文件时出现错误: {e}')
else:
    # 转换创建时间列为 datetime 类型
    df[found_columns['创建时间']] = pd.to_datetime(df[found_columns['创建时间']])

    # 筛选 6 月份的数据
    df_june = df[(df[found_columns['创建时间']].dt.month == 6)]

    # 按找到的车牌号列分组汇总净重数据并降序排序
    license_plate_summary = df_june.groupby(found_columns['车牌号'])[found_columns['净重']].sum().reset_index()
    license_plate_summary = license_plate_summary.sort_values(by=found_columns['净重'], ascending=False)

    # 保存结果到 CSV 文件
    output_file = 'c:/Users/86183/Desktop/新建文件夹/license_plate_freight_summary.csv'
    # 重命名列以便统一查看
    license_plate_summary = license_plate_summary.rename(columns={
        found_columns['车牌号']: '车牌号',
        found_columns['净重']: '净重'
    })
    license_plate_summary.to_csv(output_file, index=False)
    print(f'6 月份各车辆总货运量统计完成，结果已保存至 {output_file}')